package com.wjw.java.others.object_;

/**
 * Object类的hashCode()
 *
 * 哈希值：
 * 1.为了提高具有哈希结构容器的效率
 * 2.两个引用,如果指向的是同一对象,则哈希值一样
 * 3.两个引用,如果指向不同对象,则哈希值不一样
 * 4.哈希值只要根据地址号来的,但不能完全将哈希值等价于地址
 * 5.后面有需要的话,我们会重写Object类的hashCode()
 * 6.是一个十进制的整数，由系统随机给出(就是对象的地址值，是一个逻辑地址，是模拟出来得到的地址，不是数据实际存储的物理地址)
 */
public class HashCode_ {
    public static void main(String[] args) {
        //hashCode值相等,不代表地址值一致
        String s1 = new String("abc");
        String s2 = new String("abc");
        System.out.println(s1.hashCode());//96354
        System.out.println(s2.hashCode());//96354
        System.out.println(s1==s2);//false
        System.out.println("重地".hashCode());//1179395
        System.out.println("通话".hashCode());//1179395
    }
}
